import request from '@/utils/request'

export function downloadExcel(url, name, data, method = "get") {
 return request({
  url: url,
  responseType: "blob",
  method,
  data: method == "get" ? undefined : data,
  params: method == "get" ? data : undefined
 })
  .then(res => {
   if (res.type == "application/json") {
    showToast("网络异常", "error");
    // console.log("网络异常", "error");
    //直接返回了流，没有状态 如果报错会返回code
    return;
    // 非正常业务码，执行错误处理
    // 注意：status字段名是团队自行定义的
   }
   const stream = res; // 后端用stream返回Excel文件
   const blob = new Blob([stream]);

   // 前端获取业务码，成功执行正常业务
   const downloadElement = document.createElement("a");
   const href = window.URL.createObjectURL(blob); // 创建下载的链接
   downloadElement.href = href;
   const timeStamp = new Date().toString();
   const nameStr = name || timeStamp;
   downloadElement.download = nameStr + ".xlsx"; // 下载后文件名
   document.body.appendChild(downloadElement);
   downloadElement.click(); // 点击下载
   document.body.removeChild(downloadElement); // 下载完成移除元素
   window.URL.revokeObjectURL(href); // 释放掉blob对象
  })
  .catch(e => {
  // showToast(e, "error");
  });
}